The present invention relates to a digital memory arrangement and signal processing arrangement, in particular a filter arrangement, having a plurality of filter modules for digital signal processing/storing, in particular filtering, of input values or input signals. The digital signal processing arrangement includes a memory area and at least one multiplier-accumulator (MAC) which has at least one multiplier and at least one adder. The input values, coefficients, in particular fixed filter coefficients, and output values of the signal processing arrangement can be stored in the memory area and called up again therefrom as needed. The multiplier forms products, in particular partial products for all filter modules, from the input values and coefficients, and the adder forms sums of the products, in particular of the partial products of all filter modules, as output values or output signals of the signal processing arrangement.
The present invention also relates to a method of storing values and of digital signal processing, in particular filtering, of input values or input signals in a digital filter arrangement. The input values, coefficients, in particular fixed filter coefficients, and output values of the memory arrangement or signal processing arrangement are stored in a memory area and called up again therefrom as needed. Products, in particular partial products for all filter modules, are formed from the input values and coefficients and sums of the products, in particular partial products of all filter modules, are formed in a multiplier-accumulator (MAC) of the signal processing arrangement as output values or output signals of the signal processing arrangement.
The most recent trend increasingly calls for digital, rather than analog, signal processing. The advantages of digital signal processing are the higher degree of accuracy and reproducibility, as well as reduced sensitivity to disturbances. The disadvantage is the higher circuitry cost, which, however, is becoming less and less important with the increasing degree of integration of digital circuits.
In digital signal processing, discrete sequences of digits (sampled and quantized signals), rather than continuous signals, are processed. To the degree to which digital signals are being digitally processed, digital signal processing arrangements, for example, filter arrangements and suitable memory arrangements, are also increasingly being used. Certain frequencies are eliminated or suppressed from the signal by digital filtering in order to improve the signal/noise ratio.
In motor vehicle controllers, filtering of the input signals or discrete input values is required for some engine control functions, for example. The controller is used for controlling certain functions in a motor vehicle, for example, of the internal combustion engine, the transmission, the brakes, or the air conditioning/heating. The controller has a microcontroller containing a processor. A control program is executed in the processor in order to perform the function of the controller. In executing the control program, input signals are processed and appropriate control commands are generated.
Digital signal processing, in particular filtering, of input values is relatively time- and computation-intensive. Therefore, it is known from the related art that digital signal processing, for example, digital filtering, of input values can be performed using a digital signal processor (DSP). A DSP can perform certain functions automatically, i.e., without support by the processor of the controller. The use of a DSP for digital signal processing, in particular filtering, of the input values has the advantage that digital signal processing, i.e., filtering, takes place without placing any load on the higher-level processor of the controller. The processor remains entirely available for performing control tasks. The use of a DSP for digital signal processing, in particular filtering, of the input values has the disadvantage that the DSP has a complex design and therefore its integration in a controller is cost- and time-intensive.
From the above disadvantages of the related art results an object of the present invention: to perform digital signal processing, in particular filtering, of input values as rapidly and reliably as possible without, however, the digital signal processing, i.e., filtering, placing extra load on a processor that is on a level higher than that of the signal processing arrangement, in particular the digital filter, for signal processing.
In order to achieve this object, the present invention proposes, based on the digital signal processing arrangement, in particular a filter arrangement, that the digital signal processing arrangement, i.e., filter arrangement, have a direct memory access (DMA) controller for coordinating data transmission of coefficients, in particular filter coefficients, input values or input signals, and output values or output signals between the multiplier-accumulator (MAC) and the memory area.
In the following, a filter arrangement will be described in detail. Further embodiments, in particular, the exemplary embodiment shown, however, should also be understood as referring generically to a signal processing arrangement or a memory arrangement having a signal processing module according to the present invention.
The design and the function of DMA controllers can be found in a plurality of manuals and specialized journals. In this respect, reference is made, for example, to Tietze, Ullrich: Halbleiter-Schaltungstechnik (Semiconductor Circuit Technology) U. Tietze, Ch. Schenk, 9th ed., Springer Verlag, 1989, pp. 704-707. A DMA controller has one or more DMA channels over which data transmission takes place from a memory area to any module of a microprocessor. In contrast to data transmission via an interface, where a plurality of commands is to be executed for transmitting one bit, which requires a plurality of clock cycles of the central processing unit (CPU) of the higher-level microprocessor, in the case of data transmission using the DMA controller, data transmission is only initiated by the CPU and the filtered output values are read from the memory area after filtering. Data transmission of the filter coefficients, input values, and the output values is coordinated by the DMA controller so that all of the digital signal processing, in particular filtering of the input values, takes place almost without using any processing time of the central processing unit of the microprocessor.
Thus, according to the present invention, a microprocessor of a signal processing device (e.g., a vehicle controller) of a higher level than the signal processing arrangement, in particular the filter arrangement, is extended by a multiplier-accumulator (MAC) having at least one multiplier and at least one adder, as well as a direct memory access (DMA) controller. The MAC and DMA controller extension of the microprocessor has a particularly simple structure and can be integrated into the higher-level signal processing device without considerable cost or effort.
The microprocessor is, for example, a component of a controller for a motor vehicle that is used for controlling certain functions in the motor vehicle. The controller processes, within the framework of vehicle function control, analog and/or digital signals. For certain control functions of the internal combustion engine, the signals are filtered. For this purpose, the analog input signals are converted into digital input values in an analog-digital converter (ADC) or the digital input values are used directly if they are available. The digital input values are stored in the memory area and are transmitted from there into the MAC via the DMA channel(s). In the MAC, the filtered output values are calculated and stored again in the memory area via the DMA channels. From there the output values are picked up by the microprocessor of the controller as filtered signal values.
According to an advantageous refinement of the present invention, it is proposed that the filter arrangement have an analog-digital converter (ADC) and a digital-analog converter (DAC), the DMA controller coordinating data transmission of the input values from the ADC into the memory area and of the output values from the memory area to the DAC. According to this refinement, the microprocessor of the higher-level signal processing device thus processes analog signals, which is digitized prior to digital filtering. The filtered output values is also converted back into analog output signals after digital filtering before they can be further processed by the microprocessor. In order to place the least possible load on the central processing unit of the microprocessor with the digital filtering of the signals, in particular with the conversion between analog and digital signals, data transmission between the ADC and the memory area and between the memory area and the DAC is also coordinated by the DMA controller.
According to a preferred embodiment of the present invention, it is proposed that the filter arrangement have an arrangement for forming the absolute value of the input values, the DMA controller coordinating data transmission of the input values from the memory area to the arrangement for forming the absolute value and from the arrangement to the MAC. The arrangement for forming the absolute value of the input values guarantees that digital filtering is only performed with positive input values.
The arrangement for forming the absolute value of the input values advantageously has a digital comparator. The comparator verifies whether an input value is greater or less than zero. If the input value is less than zero, the sign of the input value is inverted.
The memory area in which the filter coefficients, the input values, and output values are stored designed to be separate from the microprocessor in order not to interrupt the CPU in the performance of DMA activities. The memory area is advantageously designed as a random access read-write memory (RAM). Commands that describe which operations are to be executed with which values are also stored in the memory area.
According to a preferred embodiment of the present invention, it is proposed that the input values be filtered by the Finite Impulse Response (FIR) filtering method. An FIR filter is described, for example, in Tietze, Ullrich: Halbleiter-Schaltungstechnik (Semiconductor Circuit Technology), ibidem, pp. 807 ff. As an alternative, it is proposed that the input values be filtered by the Infinite Impulse Response (IIR) filtering method. An IIR filter is described, for example, in Tietze, Ullrich: Halbleiter-Schaltungstechnik (Semiconductor Circuit Technology), ibidem, pp. 833 ff.
As another method for achieving the object of the present invention, it is proposed on the basis of the method of digital filtering of input values of the above-mentioned type that data transmission of the filter coefficients, input values, and output values between the multiplier-accumulator (MAC) and the memory area be performed as a Direct Memory Access (DMA) transmission.
According to a preferred refinement of the present invention, it is proposed that the input values be filtered recursively. In recursive filtering, previous output values, in addition to the input values, are used for the new current output value. Recursive filtering of digital input values is described in detail in Schrxc3xcfer, Elmar, Signalverarbeitung: Numerische Verarbeitung digitaler Signale (Signal processing: numerical processing of digital signals), Carl Hanser Verlag, 1990, pp. 206-234, to which reference is expressly made here.
According to a preferred embodiment of the present invention, it is proposed that the partial products for all filter modules and the sums of the partial products of all filter modules be formed serially. In order to calculate an output value, the inputs of the multiplier of the MAC are passed once through all filter modules and the partial products obtained are added up in the adder. Serial implementation of the digital filter arrangement has the advantage that only one multiplier and only one adder are needed in the MAC, while parallel implementation of the digital filter arrangement requires a separate adder for each filter module and a separate multiplier for all filter modules as well as an additional multiplier.